import asyncio


# async 定义的方法就会变成一个无法直接执行的 coroutine 对象，必须将其注册到事件循环中才可以执行
async def execute(x):
    print('Number:', x)
    return x


coroutine = execute(1)  # 协程对象类型
print('Coroutine:', coroutine)
print('After calling execute')
loop = asyncio.get_event_loop()  # 创建了一个事件循环 event_loop
task = loop.create_task(coroutine)  # coroutine 对象转化为了 task 对象
print('task:', task)

loop.run_until_complete(task)
print('task:', task)
print('After calling loop')
